//package cn.wlbw.server;
//
//import io.netty.bootstrap.ServerBootstrap;
//import io.netty.channel.*;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.channel.socket.nio.NioServerSocketChannel;
//import io.netty.handler.timeout.ReadTimeoutHandler;
//import io.netty.handler.timeout.WriteTimeoutHandler;
//
//import java.net.InetSocketAddress;
//
//public class EchoServer {
//    private final Integer tcpServerPort;
//
//    public EchoServer(Integer tcpServerPort) {
//        this.tcpServerPort = tcpServerPort;
//    }
//
//    public void start() throws InterruptedException {
//        EventLoopGroup group = new NioEventLoopGroup();
//        try {
//            ServerBootstrap bootstrap = new ServerBootstrap();
//            bootstrap.group(group)
//                    .channel(NioServerSocketChannel.class)
//                    .option(ChannelOption.SO_KEEPALIVE, true)
//                    .localAddress(new InetSocketAddress(tcpServerPort))
//                    .childHandler(new ChannelInitializer<SocketChannel>() {
//                        @Override
//                        protected void initChannel(SocketChannel socketChannel) throws
//                                Exception {
//                            socketChannel.pipeline().addLast(
//                                    //添加读取超时
//                                    new ReadTimeoutHandler(30),
//                                    //添加写入超时
//                                    new WriteTimeoutHandler(30),
//                                    //消息处理Handler
//                                    new EchoServerHandler()
//                            );
//                        }
//                    });
//            ChannelFuture future = bootstrap.bind().sync();
//            future.channel().closeFuture().sync();
//        } finally {
//            group.shutdownGracefully().sync();
//        }
//    }
//
//    public static void main(String[] args) {
//
//        EchoServer tcpserver = new EchoServer(8080);
//        try {
//            tcpserver.start();
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//
//
//    }
//}
